{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Think Bayes: Chapter 9\n",
    "\n",
    "This notebook presents code and exercises from Think Bayes, second edition.\n",
    "\n",
    "Copyright 2016 Allen B. Downey\n",
    "\n",
    "MIT License: https://opensource.org/licenses/MIT"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from __future__ import print_function, division\n",
    "\n",
    "% matplotlib inline\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "import math\n",
    "import numpy as np\n",
    "\n",
    "from thinkbayes2 import Pmf, Cdf, Suite, Joint\n",
    "import thinkplot"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Improving Reading Ability\n",
    "\n",
    "From DASL(http://lib.stat.cmu.edu/DASL/Stories/ImprovingReadingAbility.html)\n",
    "\n",
    "> An educator conducted an experiment to test whether new directed reading activities in the classroom will help elementary school pupils improve some aspects of their reading ability. She arranged for a third grade class of 21 students to follow these activities for an 8-week period. A control classroom of 23 third graders followed the same curriculum without the activities. At the end of the 8 weeks, all students took a Degree of Reading Power (DRP) test, which measures the aspects of reading ability that the treatment is designed to improve.\n",
    "\n",
    "> Summary statistics on the two groups of children show that the average score of the treatment class was almost ten points higher than the average of the control class. A two-sample t-test is appropriate for testing whether this difference is statistically significant. The t-statistic is 2.31, which is significant at the .05 level.\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "I'll use Pandas to load the data into a DataFrame."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Treatment</th>\n",
       "      <th>Response</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Treated</td>\n",
       "      <td>24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Treated</td>\n",
       "      <td>43</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Treated</td>\n",
       "      <td>58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Treated</td>\n",
       "      <td>71</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Treated</td>\n",
       "      <td>43</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  Treatment  Response\n",
       "0   Treated        24\n",
       "1   Treated        43\n",
       "2   Treated        58\n",
       "3   Treated        71\n",
       "4   Treated        43"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "\n",
    "df = pd.read_csv('drp_scores.csv', skiprows=21, delimiter='\\t')\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And use `groupby` to compute the means for the two groups."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Control 41.5217391304\n",
      "Treated 51.4761904762\n"
     ]
    }
   ],
   "source": [
    "grouped = df.groupby('Treatment')\n",
    "for name, group in grouped:\n",
    "    print(name, group.Response.mean())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The `Normal` class provides a `Likelihood` function that computes the likelihood of a sample from a normal distribution."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from scipy.stats import norm\n",
    "\n",
    "class Normal(Suite, Joint):\n",
    "    \n",
    "    def Likelihood(self, data, hypo):\n",
    "        \"\"\"\n",
    "        \n",
    "        data: sequence of test scores\n",
    "        hypo: mu, sigma\n",
    "        \"\"\"\n",
    "        mu, sigma = hypo\n",
    "        likes = norm.pdf(data, mu, sigma)\n",
    "        return np.prod(likes)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The prior distributions for `mu` and `sigma` are uniform."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "mus = np.linspace(20, 80, 101)\n",
    "sigmas = np.linspace(5, 30, 101)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "I use `itertools.product` to enumerate all pairs of `mu` and `sigma`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.791883192150766e-44"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from itertools import product\n",
    "\n",
    "control = Normal(product(mus, sigmas))\n",
    "data = df[df.Treatment=='Control'].Response\n",
    "control.Update(data)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "After the update, we can plot the probability of each `mu`-`sigma` pair as a contour plot."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nYRiGAfz/AmkIxA6PnGsAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fb5878a9950>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "thinkplot.Contour(control, pcolor=True)\n",
    "thinkplot.Config(xlabel='mu', ylabel='sigma')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And then we can extract the marginal distribution of `mu`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nKGGIiEhK/j8DnQq9JLiYIgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fb58524fa10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pmf_mu0 = control.Marginal(0)\n",
    "thinkplot.Pdf(pmf_mu0)\n",
    "thinkplot.Config(xlabel='mu', ylabel='Pmf')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And the marginal distribution of `sigma`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\neu3/A7kdwZzU6mH4AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fb584f86790>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pmf_sigma0 = control.Marginal(1)\n",
    "thinkplot.Pdf(pmf_sigma0)\n",
    "thinkplot.Config(xlabel='sigma', ylabel='Pmf')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise:** Run this analysis again for the control group.  What is the distribution of the difference between the groups?  What is the probability that the average \"reading power\" for the treatment group is higher?  What is the probability that the variance of the treatment group is higher?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# It looks like there is a high probability that the mean of\n",
    "# the treatment group is higher, and the most likely size of\n",
    "# the effect is 9-10 points.\n",
    "\n",
    "# It looks like the variance of the treated group is substantially\n",
    "# smaller, which suggests that the treatment might be helping\n",
    "# low scorers more than high scorers."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Paintball"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Suppose you are playing paintball in an indoor arena 30 feet\n",
    "wide and 50 feet long.  You are standing near one of the 30 foot\n",
    "walls, and you suspect that one of your opponents has taken cover\n",
    "nearby.  Along the wall, you see several paint spatters, all the same\n",
    "color, that you think your opponent fired recently.\n",
    "\n",
    "The spatters are at 15, 16, 18, and 21 feet, measured from the\n",
    "lower-left corner of the room.  Based on these data, where do you\n",
    "think your opponent is hiding?\n",
    "\n",
    "Here's the Suite that does the update.  It uses `MakeLocationPmf`,\n",
    "defined below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "class Paintball(Suite, Joint):\n",
    "    \"\"\"Represents hypotheses about the location of an opponent.\"\"\"\n",
    "\n",
    "    def __init__(self, alphas, betas, locations):\n",
    "        \"\"\"Makes a joint suite of parameters alpha and beta.\n",
    "\n",
    "        Enumerates all pairs of alpha and beta.\n",
    "        Stores locations for use in Likelihood.\n",
    "\n",
    "        alphas: possible values for alpha\n",
    "        betas: possible values for beta\n",
    "        locations: possible locations along the wall\n",
    "        \"\"\"\n",
    "        self.locations = locations\n",
    "        pairs = [(alpha, beta) \n",
    "                 for alpha in alphas \n",
    "                 for beta in betas]\n",
    "        Suite.__init__(self, pairs)\n",
    "\n",
    "    def Likelihood(self, data, hypo):\n",
    "        \"\"\"Computes the likelihood of the data under the hypothesis.\n",
    "\n",
    "        hypo: pair of alpha, beta\n",
    "        data: location of a hit\n",
    "\n",
    "        Returns: float likelihood\n",
    "        \"\"\"\n",
    "        alpha, beta = hypo\n",
    "        x = data\n",
    "        pmf = MakeLocationPmf(alpha, beta, self.locations)\n",
    "        like = pmf.Prob(x)\n",
    "        return like"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def MakeLocationPmf(alpha, beta, locations):\n",
    "    \"\"\"Computes the Pmf of the locations, given alpha and beta. \n",
    "\n",
    "    Given that the shooter is at coordinates (alpha, beta),\n",
    "    the probability of hitting any spot is inversely proportionate\n",
    "    to the strafe speed.\n",
    "\n",
    "    alpha: x position\n",
    "    beta: y position\n",
    "    locations: x locations where the pmf is evaluated\n",
    "\n",
    "    Returns: Pmf object\n",
    "    \"\"\"\n",
    "    pmf = Pmf()\n",
    "    for x in locations:\n",
    "        prob = 1.0 / StrafingSpeed(alpha, beta, x)\n",
    "        pmf.Set(x, prob)\n",
    "    pmf.Normalize()\n",
    "    return pmf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def StrafingSpeed(alpha, beta, x):\n",
    "    \"\"\"Computes strafing speed, given location of shooter and impact.\n",
    "\n",
    "    alpha: x location of shooter\n",
    "    beta: y location of shooter\n",
    "    x: location of impact\n",
    "\n",
    "    Returns: derivative of x with respect to theta\n",
    "    \"\"\"\n",
    "    theta = math.atan2(x - alpha, beta)\n",
    "    speed = beta / math.cos(theta)**2\n",
    "    return speed"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "The prior probabilities for `alpha` and `beta` are uniform."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.903291595810899e-06"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "alphas = range(0, 31)\n",
    "betas = range(1, 51)\n",
    "locations = range(0, 31)\n",
    "\n",
    "suite = Paintball(alphas, betas, locations)\n",
    "suite.UpdateSet([15, 16, 18, 21])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "To visualize the joint posterior, I take slices for a few values of `beta` and plot the conditional distributions of `alpha`.  If the shooter is close to the wall, we can be somewhat confident of his position.  The farther away he is, the less certain we are."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZMAAAEPCAYAAACHuClZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd4VFX6xz9nSjLpvSeE0JEq3UqAVQEFBBR7ZV3cFbuu\n7adiW8VeFnXty1oRRRBRQCEIKtJ7LwkppPc2mXJ+f9zJpBBCy2Qmyfk8zzxzz7nn3vtemNzvPe85\n532FlBKFQqFQKM4EnbsNUCgUCkXbR4mJQqFQKM4YJSYKhUKhOGOUmCgUCoXijFFiolAoFIozRomJ\nQqFQKM4Yl4uJEGKsEGKPEGKfEOKh47R5UwixXwixRQhxdr36VCHEViHEZiHEunr1TwohMoQQmxyf\nsa6+D4VCoVAcH4MrTy6E0AH/BsYAWcB6IcRCKeWeem3GAV2llN2FEMOBd4ARjt12IFlKWdTE6V+V\nUr7qSvsVCoVCcXK4umcyDNgvpUyTUlqAL4FJjdpMAuYCSCn/BIKEEFGOfaIZG4UL7FUoFArFaeBq\nMYkD0uuVMxx1zbXJrNdGAsuFEOuFELc1Om6mwy32gRAiqCWNVigUCsWp4ekD8OdJKQcB44E7hBDn\nO+rfBrpIKQcC2YBydykUCoUbcemYCVovo1O9cryjrnGbhKbaSCmPOr7zhBAL0Nxma6SUefXavw98\n39TFhRAq8JhCoVCcBlLKUxpKcHXPZD3QTQiRKITwAq4GFjVqswi4EUAIMQIollLmCCF8hRD+jno/\n4GJgh6McXe/4KbX1TSGlbLefJ5980u02qPtT96bur/19TgeX9kyklDYhxExgGZpwfSil3C2EmKHt\nlu9JKZcIIcYLIQ4AFcAtjsOjgAWO3oUB+ExKucyx70UhxEC02V6pwAxX3odCoVAomsfVbi6klD8B\nPRvV/adReWYTxx0GBh7nnDe2pI0KhUKhODM8fQBe0QzJycnuNsGltOf7a8/3Bur+OiLidP1jbQEh\nhGzP96dQKBSuQAiBPMUBeJe7uRQKRcelc+fOpKWludsMxXFITEwkNTW1Rc6leiYKhcJlON5w3W2G\n4jgc7//ndHomasxEoVAoFGeMEhOFQqFQnDFKTBQKhUJxxigxUSgUHZakpCRWrFjhbjPaBUpMFAqF\n4jRwlxDNmTOHoUOHYjKZuPXWW4/Z/8svv9C7d2/8/f0ZM2YMR44caRW7lJgoPIqyimo27Exj4Yqt\n/LHlEMVlle42SaHwKOLi4nj88ceZPn36MfsKCgqYOnUqzz33HIWFhQwePJirrrqqVexS60wUbkNK\nSWZuMXsPZ7PnUA57D2eTmVt8TLuosEB6JkXRKymaXl2iSYgOQadT70GKlmHdunXceeedZGdnc/nl\nl/POO+/g5eUFwOLFi3n88cdJTU2lT58+vPPOO/Tr148bb7yRI0eOMGHCBPR6PU888QQPPPAA06ZN\nY/Xq1VRXVzNgwADefvttzjrrrBa19/LLLwdg/fr1ZGY2DML+7bff0rdvX6ZMmQLArFmzCA8PZ9++\nffTo0aNF7WiMEhNFq2GusXDgSB57Dmez91AOe1OzKa80n/C4nIJScgpK+XXDfgB8TF70SIykV5do\neiZF0yMxEh+Tl6vNV7iAqXe/26Ln++aN20/5mM8//5zly5fj6+vLZZddxrPPPsvTTz/N5s2bmT59\nOj/88AODBw/m008/ZeLEiezbt4+5c+eyevVqPvroI0aNGuU81/jx4/nkk08wGo089NBDXHfddWze\nvLnJ695xxx18/vnnzrUeQmjLOqSUJCYmsmXLllO+l507dzJgwABn2dfXl27durFz504lJoq2T0lZ\nFZ989ztrNh3Ebrc321av19ElPpzE2DAyc4o5cCQXi9XWoE1VdQ1b92awdW8GoOVvHtK3M9OnnkdE\naICrbkPRTrnzzjuJjY0F4LHHHuOuu+7i6aef5v333+f2229nyJAhANxwww0899xzrF27lgsuuADg\nmAV/N998s3P7iSee4PXXX6esrIyAgGN/l3PmzGHOnDktei/l5eVERkY2qAsMDKSsrKxFr9MUSkwU\nLkNKyW+bDvLBN2soq6huso2/rze9krQeRq8u0XTrFIGXse5nabXaOJSR7+jNZLPncM4x4ygSWL8j\nlW37Mrlp0gguPu8s51ueQnEi4uPjnduJiYlkZWUBkJaWxty5c3nrrbcA7fdssVic+xtjt9t59NFH\nmT9/Pvn5+QghEEKQn5/fpJi4An9/f0pLSxvUlZSUtMr1lZgoXEJRaSXvzfuVddtTG9THRQY7hCOK\nXl1iiI0IavbBbzDo6dE5ih6do2DUAKSU5BaWsedQNnsP57D70FGOHC0ENDfae1+v5vctB/n71clE\nhwe68hYVLcDpuKVamvT0dOd2Wlqas5eSkJDAY489xiOPPNLkcY1/t59//jnff/89K1asoFOnTpSU\nlBASEnLccDJ///vf+fTTT485j5SSzp07s3379lO+lz59+vDf//7XWa6oqODgwYP06dPnlM91qigx\nUbQoUkpWrd/HR9/+TkVV3XhIWLAft181kkFndWrm6BMjhCAqLJCosEBGDtV8wHsPZzPn8xTn4P2O\n/Vnc+8I8rp8wnPEX9lW9FEWzzJkzh0svvRQfHx/+9a9/cfXVVwNw2223MWXKFMaMGcOwYcOoqKhg\n1apVjBw5Ej8/P6Kiojh06BCjR48GoKysDG9vb0JCQqioqOCRRx5p9rf3zjvv8M4775yyvTabDYvF\ngs1mw2q1YjabMRgM6PV6Jk+ezD//+U8WLFjA+PHjeeqppxg4cKDLx0ugFaYGCyHGCiH2CCH2CSEe\nOk6bN4UQ+4UQW4QQZ9erTxVCbBVCbBZCrKtXHyKEWCaE2CuEWCqECHL1fShOTH5ROf9670fe+mxl\nAyG56NzevP7wVWcsJMejZ1I0L//zCiaPGUjtn26NxcpH3/7GY28sbHKGmEIB2svJtddey8UXX0y3\nbt3o3r07jz32GACDBw/m/fffZ+bMmYSGhtKjR48Gb/2PPPIIzzzzDKGhobz66qvcdNNNdOrUibi4\nOPr27cu5557rEpufffZZfH19mT17Np999hm+vr4899xzAISHh/PNN9/w6KOPEhoayoYNG/jyyy9d\nYkdjXBo1WAihA/YBY4AstJzwV0sp99RrMw6YKaW8VAgxHHhDSjnCse8QMFhKWdTovLOBAinliw6B\nCpFSPtzE9VXU4FZASskva/fwyXd/UFVd46yPCAngjmuT6dcjrtVsOZCWy7+/SCHd4foCMBr0XHPp\nMCYk91NTilsZFTXYs2nJqMGuFpMRwJNSynGO8sNoud9n12vzLrBSSvmVo7wbSJZS5gghDgNDpJQF\njc67BxjpaBMNpEgpezVxfSUmLia3sIx3vljFtn0ZDerHX9iX6y4bjsnb2Oo2WSw25i/fxLfLNzeY\nPdatUyQzrxtFQnRIq9vUUVFi4tm0pRD0cUB6vXKGo665Npn12khguRBivRDitnptIqWUOQBSymyg\n4Vw4Rauw7Ldd3PP8vAZCEhMRxDN3TWL61PPdIiQARqOea8YP5cX7p9A5LtxZf+BILve/+DXfLN+k\nHnAKRQvj6QPw50kpjwohItBEZbeUck0T7Y77ZJg1a5ZzOzk5WeVubiHmL9vEFz84h7EQwIRRA7h6\n/BC8vdwjIo1Jig9n9n2T+W7FVub9tAGbzY7NZufzxesoLK7gr1ecrwbnFQogJSWFlJSUMzpHa7i5\nZkkpxzrKJ+PmcrqwGp3rSaBMSvlqI1dYtOP43k1cX7m5XMC3yzfz2eI/neX4qBDuuDZZm77roRw5\nWsi/P1vJwfQ8Z92lI/txy+RzlaC4EOXm8mzakptrPdBNCJEohPACrgYWNWqzCLgRnOJT7BAJXyGE\nv6PeD7gY2FHvmJsd2zcBC116FwonC1dsbSAk/XvE89KDUz1aSAA6xYTy/L2TOffsrs66H1ZtZ+7C\ntephp1C0AC51c0kpbUKImcAyNOH6UEq5WwgxQ9st35NSLhFCjBdCHAAqgFsch0cBC4QQ0mHnZ1LK\nZY59s4F5QohbgTRgmivvQ6GxOGUbcxf+4Sz36RbLw7dd0mDFuiej1+u454Yx2G121m47DMCilVvR\n6wTXTRiueigKxRngUjeXu1Furpbjx9U7+GB+3XBV7y4x/N/t4902yH4mWK02XvlkeYPV+VdcMphr\nxg91n1HtFOXm8mzakptL0Q5Y9tuuBkLSMymax2aMa5NCAlqIlvtvvoghfRKddfOXbmTeTxvcaJVC\n0bZRYqJoll/W7uY/8351lrsnRvJ/M8a3+ZDvBoOeB265mLN7JzjrvvpxA/OXbXKjVYrWRqXtbTmU\nmCiOy8o/9/LOF6uc5a4JETz+90vx9WnbQlKL0ajnn9MvoX+PuqixX/ywjgU/N51/QqGojzuEqKam\nhr/+9a907tyZoKAgBg0axE8//dSgjUrbq/Aoft2wjzmfr3Qu4EmKD+eJf1yGn4+3W+1qabyMBh75\n21j6do911n36/Z98v3KbG61SKJrGarXSqVMnVq9eTUlJCc888wzTpk1zCoY70/YqMVEcw5pNB3jz\nfyucQpIYG8aT/7gMf9/2JSS1eBkNPPq3cZzVNcZZ98l3v/PDqlMPAa5oe6xbt44+ffoQFhbG9OnT\nqampiy+3ePFizj77bEJCQjj//POdYeHrp+0NDAzk5ZdfBmDatGnExMQQEhJCcnIyu3btalFbfX19\neeKJJ0hI0Nyzl156KUlJSWzcuBFomLbXy8uLWbNmsXXrVvbt29eidjSFms2laMDvWw7y2ic/Y3f8\nuyXEhPL0zAkE+vu42TLXU2228My7P7DnULaz7rYrLmDsBa7PBdFeOdFsrr9+0LKTHj7465BTap+U\n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\n1J0RrpN5AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fb584ff7b90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "locations = range(0, 31)\n",
    "alpha = 10\n",
    "betas = [10, 20, 40]\n",
    "thinkplot.PrePlot(num=len(betas))\n",
    "\n",
    "for beta in betas:\n",
    "    pmf = MakeLocationPmf(alpha, beta, locations)\n",
    "    pmf.label = 'beta = %d' % beta\n",
    "    thinkplot.Pdf(pmf)\n",
    "\n",
    "thinkplot.Config(xlabel='Distance',\n",
    "                ylabel='Prob')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "Here are the marginal posterior distributions for `alpha` and `beta`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "alpha CI (14, 21)\n",
      "beta CI (5, 31)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEPCAYAAABGP2P1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAG+RJREFUeJzt3XuUVeWZ5/HvrwwiRkGUiApyUZJ4SWyJSsiExFIzCOko\nJkRFZ9SoGF0tDk47XlDHVJLOSuzYy3ibKA1RbNtoa9LeIpfMQK0YJwoOeIuiMo6AXLRREaQTIfDM\nH2dXcaqoyzlVZ5/b/n3WquXZ++yz6z3bw3nqfZ53v68iAjMzsxYNlW6AmZlVFwcGMzNrw4HBzMza\ncGAwM7M2HBjMzKwNBwYzM2sj1cAgabakdyS92MUxt0p6Q9Lzko5Osz1mZta9tHsMdwMnd/akpInA\noRHxaeBi4M6U22NmZt1INTBExO+BD7o4ZBJwb3Lss8AASYPTbJOZmXWt0jWGIcDqvO01yT4zM6uQ\nSgcGMzOrMp+o8O9fAxyctz002bcLSZ7UycysByJCxRxfjsCg5KcjjwGXAg9KGgtsjIh3OjuRJ/zL\naWpqoqmpqdLNqAq+FjmTp9/JK888wRFjv8Gvbrmk0s2puCx9Lua/uJ7Hlq3l4207Onx+9kXHFX3O\nVAODpPuBRmA/SauA7wG7AxERMyPiSUlfl7QC2AKcn2Z7zMzqTVdBoadSDQwRcXYBx0xLsw1m9eLR\nhS/w4Nzn+Hjrtko3xapIqYMCVL7GYD3Q2NhY6SZUjSxdi+6CwqeGfoa+u/cpY4uqVz1+LrpLGQHM\nmnrsLvtmX1T87/KopBpUjx/6nsrSteiupzD0kCM5c+KuXwxZVI+fi+6CQt8+pfs6d4/BrAbVe4F5\nxIgRrFy5stLNqCkHDjmYO85bVZJzOTCYWdVZuXKlRyEWSSpqRGqXHBjMqoyLzFZprjGYVZnugoIL\nzJY2BwazKtNdUHCB2dLmVJJZFav3InO9mTNnDrNmzeKpp54q6bHl5sBgVgGuI9SvYorApSwYl5JT\nSWYVUEhQcC3BKsWBwawCCgkKriVUrxtvvJFRo0bRv39/Pve5z/HII490eFxDQwO33XYbhx56KPvv\nvz9XXXVVm+cjgiuvvJJ9992XQw89lHnz5rU+d88993DEEUfQv39/Ro0axcyZM1N9T/mcSjKrMNcR\nijd5eulWAe7J9R81ahRPP/00gwcP5qGHHuKcc85hxYoVHR77yCOPsHTpUjZv3sxJJ53EYYcdxgUX\nXADAs88+y/nnn897773HXXfdxYUXXsiaNbmVBwYPHsyTTz7JiBEjeOqpp5gwYQJjxozh6KOP7vmb\nLZB7DGZmRZo8eTKDB+dWIT799NMZNWoUixcv7vDYa665hgEDBjB06FAuv/xyfvnLX7Y+N2LECC64\n4AIkcd5557F+/XreffddACZOnMiIESMA+MpXvsL48ePLVqh2j8EsJS4w1697772Xm2++mbfeeguA\nLVu2sGHDBhoadv1be+jQoa2Phw8fztq1a1u3DzjggNbH/fr1IyL46KOP2H///Zk7dy4/+MEPeP31\n19mxYwd/+tOfOOqoo9J7U3kcGMxS4gJzeiqZflu1ahXf/e53WbRoEV/60pcAGD16dKdTeKxevZrD\nDz+89bUHHXRQt79j69atfPvb3+a+++5j0qRJNDQ08M1vfrNs04Q4lWSWEheY69OWLVtoaGhg0KBB\n7Nixg7vvvpuXX3650+N/+tOfsnHjRlavXs0tt9zClClTuv0dW7duZevWrQwaNIiGhgbmzp3LggUL\nSvk2uuQeg1kZuMBcPw4//HCuuOIKxo4dy2677ca5557LuHHjOj1+0qRJHHPMMWzatInzzz+/tfDc\nkZb7Gvbaay9uvfVWTj/9dLZu3copp5zCpEmTSv5eOm1HrcxgKClqpa1m0HbkjANDcSTVxeyqDQ0N\nrFixgkMOOST139XZNUv2F3UnnVNJZmbWhlNJZr3k0UfWmWqd8qI7DgxmveRpsq0z27dvr3QTesSp\nJLNe8jTZVm/cYzArIReZrR64x2BmZm24x2BWABeYLUvcYzArgKe3sCxxYDArgKe3sHwjR45k4cKF\nlW5GapxKMiuSC8zWUyNHjmT27NmceOKJlW5Kl9xjMDOzNhwYzMx6YPHixRx55JHst99+XHjhhWzd\nuhWAJ554gtGjRzNw4EDGjRvHSy+9BMC5557LqlWrOOWUU+jfvz833XQTAGeccQYHHnggAwcOpLGx\nkVdeeaVi76mFJ9EzSxQ68sippPR1N4ne1FnPlex3zZpafG1o5MiR7L333sybN48999yTb3zjG5x4\n4ol861vf4uSTT+Y3v/kNxxxzDPfddx833HADr7/+On369GHkyJH84he/4IQTTmg91z333MMZZ5xB\nnz59uPrqq1m0aBHLli0ruk2eRM8sBR55ZMW47LLLOOigg9hnn3247rrruP/++5k5cyaXXHIJxx57\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fb584b8c090>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "marginal_alpha = suite.Marginal(0, label='alpha')\n",
    "marginal_beta = suite.Marginal(1, label='beta')\n",
    "\n",
    "print('alpha CI', marginal_alpha.CredibleInterval(50))\n",
    "print('beta CI', marginal_beta.CredibleInterval(50))\n",
    "\n",
    "thinkplot.PrePlot(num=2)\n",
    "    \n",
    "thinkplot.Cdf(Cdf(marginal_alpha))\n",
    "thinkplot.Cdf(Cdf(marginal_beta))\n",
    "    \n",
    "thinkplot.Config(xlabel='Distance',\n",
    "                ylabel='Prob')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "To visualize the joint posterior, I take slices for a few values of `beta` and plot the conditional distributions of `alpha`.  If the shooter is close to the wall, we can be somewhat confident of his position.  The farther away he is, the less certain we are."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fb584c2cf50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "betas = [10, 20, 40]\n",
    "thinkplot.PrePlot(num=len(betas))\n",
    "\n",
    "for beta in betas:\n",
    "    cond = suite.Conditional(0, 1, beta)\n",
    "    cond.label = 'beta = %d' % beta\n",
    "    thinkplot.Pdf(cond)\n",
    "\n",
    "thinkplot.Config(xlabel='Distance',\n",
    "                ylabel='Prob')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "Another way to visualize the posterio distribution: a pseudocolor plot of probability as a function of `alpha` and `beta`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fb584b8cf90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "thinkplot.Contour(suite.GetDict(), contour=False, pcolor=True)\n",
    "\n",
    "thinkplot.Config(xlabel='alpha',\n",
    "                ylabel='beta',\n",
    "                axis=[0, 30, 0, 20])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "Here's another visualization that shows posterior credible regions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fb5848f8e50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "d = dict((pair, 0) for pair in suite.Values())\n",
    "\n",
    "percentages = [75, 50, 25]\n",
    "for p in percentages:\n",
    "    interval = suite.MaxLikeInterval(p)\n",
    "    for pair in interval:\n",
    "        d[pair] += 1\n",
    "\n",
    "thinkplot.Contour(d, contour=False, pcolor=True)\n",
    "thinkplot.Text(17, 4, '25', color='white')\n",
    "thinkplot.Text(17, 15, '50', color='white')\n",
    "thinkplot.Text(17, 30, '75')\n",
    "\n",
    "thinkplot.Config(xlabel='alpha',\n",
    "                   ylabel='beta',\n",
    "                   legend=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise:** From [John D. Cook](http://www.johndcook.com/blog/2010/07/13/lincoln-index/)\n",
    "\n",
    "\"Suppose you have a tester who finds 20 bugs in your program. You want to estimate how many bugs are really in the program. You know there are at least 20 bugs, and if you have supreme confidence in your tester, you may suppose there are around 20 bugs. But maybe your tester isn't very good. Maybe there are hundreds of bugs. How can you have any idea how many bugs there are? There’s no way to know with one tester. But if you have two testers, you can get a good idea, even if you don’t know how skilled the testers are.\n",
    "\n",
    "Suppose two testers independently search for bugs. Let k1 be the number of errors the first tester finds and k2 the number of errors the second tester finds. Let c be the number of errors both testers find.  The Lincoln Index estimates the total number of errors as k1 k2 / c [I changed his notation to be consistent with mine].\"\n",
    "\n",
    "So if the first tester finds 20 bugs, the second finds 15, and they find 3 in common, we estimate that there are about 100 bugs.  What is the Bayesian estimate of the number of errors based on this data?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise:** The GPS problem.  According to [Wikipedia]()\n",
    "\n",
    "￼\n",
    "> GPS included a (currently disabled) feature called Selective Availability (SA) that adds intentional, time varying errors of up to 100 meters (328 ft) to the publicly available navigation signals. This was intended to deny an enemy the use of civilian GPS receivers for precision weapon guidance.\n",
    "> [...]\n",
    "> Before it was turned off on May 2, 2000, typical SA errors were about 50 m (164 ft) horizontally and about 100 m (328 ft) vertically.[10] Because SA affects every GPS receiver in a given area almost equally, a fixed station with an accurately known position can measure the SA error values and transmit them to the local GPS receivers so they may correct their position fixes. This is called Differential GPS or DGPS. DGPS also corrects for several other important sources of GPS errors, particularly ionospheric delay, so it continues to be widely used even though SA has been turned off. The ineffectiveness of SA in the face of widely available DGPS was a common argument for turning off SA, and this was finally done by order of President Clinton in 2000.\n",
    "\n",
    "Suppose it is 1 May 2000, and you are standing in a field that is 200m square.  You are holding a GPS unit that indicates that your location is 51m north and 15m west of a known reference point in the middle of the field.\n",
    "\n",
    "However, you know that each of these coordinates has been perturbed by a \"feature\" that adds random errors with mean 0 and standard deviation 30m.\n",
    "\n",
    "1) After taking one measurement, what should you believe about your position?\n",
    "\n",
    "Note: Since the intentional errors are independent, you could solve this problem independently for X and Y.  But we'll treat it as a two-dimensional problem, partly for practice and partly to see how we could extend the solution to handle dependent errors.\n",
    "\n",
    "You can start with the code in gps.py.\n",
    "\n",
    "2) Suppose that after one second the GPS updates your position and reports coordinates (48, 90).  What should you believe now?\n",
    "\n",
    "3) Suppose you take 8 more measurements and get:\n",
    "\n",
    "    (11.903060613102866, 19.79168669735705)\n",
    "    (77.10743601503178, 39.87062906535289)\n",
    "    (80.16596823095534, -12.797927542984425)\n",
    "    (67.38157493119053, 83.52841028148538)\n",
    "    (89.43965206875271, 20.52141889230797)\n",
    "    (58.794021026248245, 30.23054016065644)\n",
    "    (2.5844401241265302, 51.012041625783766)\n",
    "    (45.58108994142448, 3.5718287379754585)\n",
    "\n",
    "At this point, how certain are you about your location?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "**Exercise:** [The Flea Beetle problem from DASL](http://lib.stat.cmu.edu/DASL/Datafiles/FleaBeetles.html)\n",
    "\n",
    "Datafile Name: Flea Beetles\n",
    "\n",
    "Datafile Subjects: Biology\n",
    "\n",
    "Story Names: Flea Beetles\n",
    "\n",
    "Reference: Lubischew, A.A. (1962) On the use of discriminant functions in taxonomy. Biometrics, 18, 455-477. Also found in: Hand, D.J., et al. (1994) A Handbook of Small Data Sets, London: Chapman & Hall, 254-255.\n",
    "\n",
    "Authorization: Contact Authors\n",
    "\n",
    "Description: Data were collected on the genus of flea beetle Chaetocnema, which contains three species: concinna (Con), heikertingeri (Hei), and heptapotamica (Hep). Measurements were made on the width and angle of the aedeagus of each beetle. The goal of the original study was to form a classification rule to distinguish the three species.\n",
    "\n",
    "Number of cases: 74\n",
    "\n",
    "Variable Names:\n",
    "\n",
    "Width: The maximal width of aedeagus in the forpart (in microns)\n",
    "\n",
    "Angle: The front angle of the aedeagus (1 unit = 7.5 degrees)\n",
    "\n",
    "Species: Species of flea beetle from the genus Chaetocnema\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Suggestions: \n",
    "\n",
    "1. Plot CDFs for the width and angle data, broken down by species, to get a visual sense of whether the normal distribution is a good model.\n",
    "\n",
    "2. Use the data to estimate the mean and standard deviation for each variable, broken down by species.\n",
    "\n",
    "3. Given a joint posterior distribution for `mu` and `sigma`, what is the likelihood of a given datum?\n",
    "\n",
    "4. Write a function that takes a measured width and angle and returns a posterior PMF of species.\n",
    "\n",
    "5. Use the function to classify each of the specimens in the table and see how many you get right.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Width</th>\n",
       "      <th>Angle</th>\n",
       "      <th>Species</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>150</td>\n",
       "      <td>15</td>\n",
       "      <td>Con</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>147</td>\n",
       "      <td>13</td>\n",
       "      <td>Con</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>144</td>\n",
       "      <td>14</td>\n",
       "      <td>Con</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>144</td>\n",
       "      <td>16</td>\n",
       "      <td>Con</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>153</td>\n",
       "      <td>13</td>\n",
       "      <td>Con</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Width  Angle Species\n",
       "0    150     15     Con\n",
       "1    147     13     Con\n",
       "2    144     14     Con\n",
       "3    144     16     Con\n",
       "4    153     13     Con"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "\n",
    "df = pd.read_csv('flea_beetles.csv', delimiter='\\t')\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
